package com.example.demo.service;

import com.example.demo.dto.ProcessNodeDTO;
import com.example.demo.request.CreateProcessNodeRequest;
import java.util.List;

public interface ProcessNodeService {

    /**
     * 查询节点列表
     */
    List<ProcessNodeDTO> getProcessNodes(Long processId);

    /**
     * 创建单个节点
     */
    ProcessNodeDTO createProcessNode(Long processId, CreateProcessNodeRequest request);

    /**
     * 批量创建节点
     */
    List<ProcessNodeDTO> batchCreateProcessNodes(Long processId, List<CreateProcessNodeRequest> requests);

    /**
     * 更新节点
     */
    ProcessNodeDTO updateProcessNode(Long processId, Long nodeId, CreateProcessNodeRequest request);

    /**
     * 删除节点
     */
    void deleteProcessNode(Long processId, Long nodeId);

    /**
     * 根据节点ID查询节点
     */
    ProcessNodeDTO getProcessNodeById(Long nodeId);
}